package collection;

import java.util.*;

public class ListDemo1 {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("我");
        list.add("真");
        list.add("是");
        list.add("帅");

        String s = list.get(3);
        System.out.println(s);

        list.set(2,"帅");
        System.out.println(list);

        list.remove(3);
        System.out.println(list);

        list.add(1,"是");
        list.add(3,"帅");
        System.out.println(list);

        List<String> list1 = list.subList(2,5);
        System.out.println(list1);

        List<Integer> list2 = new ArrayList<>();
        list2.add(66);
        list2.add(54);
        list2.add(13);
        list2.add(98);
        list2.add(85);
        list2.add(45);
        System.out.println(list2);

        Collections.sort(list2);
        System.out.println(list2);

        List<String> list3 = new ArrayList<>();
        list3.add("我是真");
        list3.add("帅");
        list3.add("我是");
        list3.add("我是真的");
        list3.add("我是真帅帅");

        System.out.println(list3);
        Collections.sort(list3,(o1,o2)->o1.length()-o2.length());
        System.out.println(list3);

        List<Point> list4 = new ArrayList<>();
        list4.add(new Point(56,5));
        list4.add(new Point(12,69));
        list4.add(new Point(33,25));
        list4.add(new Point(9,21));
        list4.add(new Point(6,66));
        list4.add(new Point(36,14));

        Collections.sort(list4,(o1,o2)->{
            int len1 = o1.getX()*o1.getX()+o1.getY()* o1.getY();
            int len2 = o2.getX()*o2.getX()+o2.getY()*o2.getY();
            return len1-len2;
        });

        List<String> list5 = new ArrayList<>();
        list5.add("one");
        list5.add("two");
        list5.add("three");
        list5.add("four");
        list5.add("five");
        list5.add("two");

        Set<String> set = new HashSet<>();
        set.addAll(list5);
        System.out.println(set);

    }
}
